package com.java.apr5;

/**
* ##############################################################################################
* #            * 作者：陈贇臻
* #            * 呼号：BG4DWI
* #            * Q Q：2756474
* #            * 邮箱：kinytx@ymail.com
* #            * 备注：本软件算法来自互联网，仅供学习测试评估之用,请勿用于商业用途
* ##############################################################################################
**/
public class Apr5Calculate {

    private static final long BASE_HASH = 0x73E2;
    private static final long FINAL_HASH = 0x7FFF;
    public static String calculate (String cs)
    {
        long hash = BASE_HASH;
        char[] chars = cs.toUpperCase().toCharArray();
        for (int j = 0; j < chars.length; j += 2)
        {
            hash ^=  (int)chars[j]  << 8;
            if(chars.length > j + 1)
                hash ^=  (int)chars[j+1];
        }
        return chars.length > 0 ? Long.toString(hash & FINAL_HASH) : "";
    }
}
